home *** CD-ROM | disk | FTP | other *** search
Wrap
tttt____ggggeeeettttiiiinnnnffffoooo((((3333NNNN)))) tttt____ggggeeeettttiiiinnnnffffoooo((((3333NNNN)))) NNNNAAAAMMMMEEEE _tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo - get protocol-specific service information SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS _####_iiii_ffff_dddd_eeee_ffff ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_xxxx_tttt_iiii_...._hhhh_>>>> _####_eeee_llll_ssss_eeee _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_tttt_iiii_uuuu_ssss_eeee_rrrr_...._hhhh_>>>> _####_eeee_nnnn_dddd_iiii_ffff _iiii_nnnn_tttt _tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo_((((_ffff_dddd_,,,, _iiii_nnnn_ffff_oooo_)))) _iiii_nnnn_tttt _ffff_dddd_;;;; _ssss_tttt_rrrr_uuuu_cccc_tttt _tttt______iiii_nnnn_ffff_oooo _****_iiii_nnnn_ffff_oooo_;;;; DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN This function returns the current characteristics of the underlying transport protocol associated with file descriptor _ffff_dddd. The _iiii_nnnn_ffff_oooo structure is used to return the same information returned by _tttt______oooo_pppp_eeee_nnnn. This function enables a transport user to access this information during any phase of communication. This argument points to a _tttt______iiii_nnnn_ffff_oooo structure, which contains the following members: _llll_oooo_nnnn_gggg _aaaa_dddd_dddd_rrrr_;;;;/* max size of the transport protocol address */ _llll_oooo_nnnn_gggg _oooo_pppp_tttt_iiii_oooo_nnnn_ssss_;;;;/* max number of bytes of protocol-specific options */ _llll_oooo_nnnn_gggg _tttt_ssss_dddd_uuuu_;;;;/* max size of a transport service data unit (_TTTT_SSSS_DDDD_UUUU) */ _llll_oooo_nnnn_gggg _eeee_tttt_ssss_dddd_uuuu_;;;;/* max size of an expedited transport service data unit (_EEEE_TTTT_SSSS_DDDD_UUUU) */ _llll_oooo_nnnn_gggg _cccc_oooo_nnnn_nnnn_eeee_cccc_tttt_;;;;/* max amount of data allowed on connection establishment functions */ _llll_oooo_nnnn_gggg _dddd_iiii_ssss_cccc_oooo_nnnn_;;;;/* max amount of data allowed on _tttt______ssss_nnnn_dddd_dddd_iiii_ssss and _tttt______rrrr_cccc_vvvv_dddd_iiii_ssss functions */ _llll_oooo_nnnn_gggg _ssss_eeee_rrrr_vvvv_tttt_yyyy_pppp_eeee_;;;;/* service type supported by the transport provider */ _####_iiii_ffff_dddd_eeee_ffff ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE _llll_oooo_nnnn_gggg _ffff_llll_aaaa_gggg_ssss_;;;;/* other info about the transport provider */ _####_eeee_nnnn_dddd_iiii_ffff The values of the fields have the following meanings: _aaaa_dddd_dddd_rrrr A value greater than or equal to zero indicates the maximum size of a transport protocol address; a value of -1 specifies that there is no limit on the address size; and a value of -2 specifies that the transport provider does not provide user access to transport protocol addresses. _oooo_pppp_tttt_iiii_oooo_nnnn_ssss A value greater than or equal to zero indicates the maximum number of bytes of protocol-specific options supported by the provider; a value of -1 specifies that there is no limit on the option size; and a value of -2 specifies that the transport provider does not support user-settable options. PPPPaaaaggggeeee 1111 tttt____ggggeeeettttiiiinnnnffffoooo((((3333NNNN)))) tttt____ggggeeeettttiiiinnnnffffoooo((((3333NNNN)))) _tttt_ssss_dddd_uuuu A value greater than zero specifies the maximum size of a transport service data unit (_TTTT_SSSS_DDDD_UUUU); a value of zero specifies that the transport provider does not support the concept of _TTTT_SSSS_DDDD_UUUU, although it does support the sending of a data stream with no logical boundaries preserved across a connection; a value of -1 specifies that there is no limit on the size of a _TTTT_SSSS_DDDD_UUUU; and a value of -2 specifies that the transfer of normal data is not supported by the transport provider. _eeee_tttt_ssss_dddd_uuuu A value greater than zero specifies the maximum size of an expedited transport service data unit (_EEEE_TTTT_SSSS_DDDD_UUUU); a value of zero specifies that the transport provider does not support the concept of _EEEE_TTTT_SSSS_DDDD_UUUU, although it does support the sending of an expedited data stream with no logical boundaries preserved across a connection; a value of -1 specifies that there is no limit on the size of an _EEEE_TTTT_SSSS_DDDD_UUUU; and a value of -2 specifies that the transfer of expedited data is not supported by the transport provider. _cccc_oooo_nnnn_nnnn_eeee_cccc_tttt A value greater than or equal to zero specifies the maximum amount of data that may be associated with connection establishment functions; a value of -1 specifies that there is no limit on the amount of data sent during connection establishment; and a value of -2 specifies that the transport provider does not allow data to be sent with connection establishment functions. _dddd_iiii_ssss_cccc_oooo_nnnn A value greater than or equal to zero specifies the maximum amount of data that may be associated with the _tttt______ssss_nnnn_dddd_dddd_iiii_ssss and _tttt______rrrr_cccc_vvvv_dddd_iiii_ssss functions; a value of -1 specifies that there is no limit on the amount of data sent with these abortive release functions; and a value of -2 specifies that the transport provider does not allow data to be sent with the abortive release functions. _ssss_eeee_rrrr_vvvv_tttt_yyyy_pppp_eeee This field specifies the service type supported by the transport provider, as described below. _ffff_llll_aaaa_gggg_ssss If ______XXXX_OOOO_PPPP_EEEE_NNNN______SSSS_OOOO_UUUU_RRRR_CCCC_EEEE is defined, then this structure element will exist. This is a bit field used to specify other information about the transport provider. If the T_SENDZERO bit is set in _ffff_llll_aaaa_gggg_ssss, this indicates that the underlying transport provider supports the sending of zero-length TSDUs. Following is a dicussion of the separate issue of zero-length fragments within a _TTTT_SSSS_DDDD_UUUU. Sending data of zero octets: The transport service definition, both in connection- oriented mode and in connectionless mode, does not permit sending a _TTTT_SSSS_DDDD_UUUU of zero octets. So, in connectionless mode, if the _llll_eeee_nnnn parameter is set to zero, the _tttt______ssss_nnnn_dddd_uuuu_dddd_aaaa_tttt_aaaa() call PPPPaaaaggggeeee 2222 tttt____ggggeeeettttiiiinnnnffffoooo((((3333NNNN)))) tttt____ggggeeeettttiiiinnnnffffoooo((((3333NNNN)))) will always return unsuccessfully with _----_1111 and _tttt______eeee_rrrr_rrrr_nnnn_oooo set to _TTTT_BBBB_AAAA_DDDD_DDDD_AAAA_TTTT_AAAA. In connection-oriented mode, if the _nnnn_bbbb_yyyy_tttt_eeee_ssss parameter is set to zero, the _tttt______ssss_nnnn_dddd() call will return with _----_1111 and _tttt______eeee_rrrr_rrrr_nnnn_oooo set to _TTTT_BBBB_AAAA_DDDD_DDDD_AAAA_TTTT_AAAA if either the T_MORE flag is set or the T_MORE flag is not set and the preceding _tttt______ssss_nnnn_dddd() call completed a _TTTT_SSSS_DDDD_UUUU or _EEEE_TTTT_SSSS_DDDD_UUUU (that is, the call has requested sending a zero byte _TTTT_SSSS_DDDD_UUUU or _EEEE_TTTT_SSSS_DDDD_UUUU. If a transport user is concerned with protocol independence, the above sizes may be accessed to determine how large the buffers must be to hold each piece of information. Alternatively, the _tttt______aaaa_llll_llll_oooo_cccc function may be used to allocate these buffers. An error will result if a transport user exceeds the allowed data size on any function. The value of each field may change as a result of option negotiation, and _tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo enables a user to retrieve the current characteristics. The _ssss_eeee_rrrr_vvvv_tttt_yyyy_pppp_eeee field of _iiii_nnnn_ffff_oooo may specify one of the following values on return: _TTTT______CCCC_OOOO_TTTT_SSSS The transport provider supports a connection-mode service but does not support the optional orderly release facility. _TTTT______CCCC_OOOO_TTTT_SSSS______OOOO_RRRR_DDDD The transport provider supports a connection-mode service with the optional orderly release facility. _TTTT______CCCC_LLLL_TTTT_SSSS The transport provider supports a connectionless-mode service. For this service type, _tttt______oooo_pppp_eeee_nnnn will return -2 for _eeee_tttt_ssss_dddd_uuuu, _cccc_oooo_nnnn_nnnn_eeee_cccc_tttt, and _dddd_iiii_ssss_cccc_oooo_nnnn. This function resides within both the X/Open compliant _llll_iiii_bbbb_xxxx_nnnn_eeee_tttt and the SVR4 compliant _llll_iiii_bbbb_nnnn_ssss_llll Network Services libraries. Network Services applications which require X/Open compliance must link-load with _----_llll_xxxx_nnnn_eeee_tttt. Network Services applications which require SVR4 compliance must link- load with _----_llll_nnnn_ssss_llll. On failure, _tttt______eeee_rrrr_rrrr_nnnn_oooo may be set to one of the following: _TTTT_BBBB_AAAA_DDDD_FFFF The specified file descriptor does not refer to a transport endpoint. _TTTT_SSSS_YYYY_SSSS_EEEE_RRRR_RRRR A system error has occurred during execution of this function. SSSSEEEEEEEE AAAALLLLSSSSOOOO _tttt______aaaa_llll_llll_oooo_cccc(3N), _tttt______oooo_pppp_eeee_nnnn(3N) DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS _tttt______gggg_eeee_tttt_iiii_nnnn_ffff_oooo returns 0 on success and -1 on failure and _tttt______eeee_rrrr_rrrr_nnnn_oooo is set to indicate the error. PPPPaaaaggggeeee 3333